var _t_url = window.parent._index_path;

var _m_url = '/publishUI/';
/***********************************
 * 我的工作台界面的初始化方法
 *************************************/
function initMyTask(divName,prefix){
	var dsId = $('#'+prefix+'_dsId').val();  						//dsId1;dsId2
	var type = $('#'+prefix+'_type').val(); 						// 4 列表
	var jsUrl = $('#'+prefix+'_jsUrl').val();						//界面要引入的js
	var doubFunc= $('#'+prefix+'_initFunc').val();   				//双击调用的方法
	var ainitFunc= $('#'+prefix+'_ainitFunc').val(); 				//方法最终的回调函数
	var keyValue= $('#'+prefix+'_keyValue').val(); 					//条件主键值
	var choice=$("#"+prefix+"_choice").val();  						//是否调用
	var aoru = $("#"+prefix+"_aoru").val(); 						//是添加或者修改详情界面
	var pfks = eval("window.parent."+dsId+"_pk"); 					//主键
	var winitFunc = $('#'+prefix+'_winitFunc').val(); 				//给添加或者详情界面回调的函数名称（在这个方法中不使用，传给_s_aws方法）
	var wainitFunc = $('#'+prefix+'_wainitFunc').val();
	//如果当前页面有自己个性化的js，那么加载该个性化的js
	addOnlyOwnJs(jsUrl);
	type ='4;6';
	//要判断是调用还是直接访问
	$.ajax({
		type:'post',
		url:_m_url+'framework/loadColumnsU',
		data:{'colId':dsId,'type':type},
		async: false,
		success:function(data){
			if(data ==""){
				alert("您长时间未操作，系统已经自动退出!，请重新登陆");
			}else{
				var typeT = new Array();
				typeT = type.split(";");
				divNameT = divName.split(";");
				for(var i = 0; i < typeT.length; i++){
					produceTaskPage(data[0],prefix+"_"+divNameT[0]);
					producePage(data[1],prefix+"_commUse",'6','');
				}
				$("#"+prefix+"_commUse input,select,datalist").each(function(){
					$(this).removeAttr("onkeydown");
					$(this).unbind('onkeydown');
				});
				$("#"+prefix+"_commUse input,select,datalist").each(function(){
					$(this).attr('onkeydown','if(event.keyCode==13) taskAllQuery(this);');
				});
				if(choice=='1'){//调用
					//调用_s_mws()
					var staticWebUrl='';
					var ainitFunc='';
					//个性按钮未添加（如果添加则为dsId）
					//目前butnId要占位置（目前没有数据）
					_s_aws(prefix,dsId,dsId,'5',staticWebUrl,winitFunc,wainitFunc,aoru,keyValue);
				} 	
			}
		}
	});
	if(ainitFunc != '')eval(ainitFunc).call(this,dsId,prefix,keyValue)
}





/**
 * 拼接datagrid界面的方法
 * @param colData
 * @param divName
 * @return
 */
function produceTaskPage(colData,divName){
	var leftW=parseFloat($("#taskWest").css("width"));
	var cW=document.documentElement.clientWidth;
	var CH=document.documentElement.clientHeight;
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
	    width:(cW-leftW)*0.95,    
	    height:CH*0.9-100,
		iconCls:'icon-save',
		striped: true,		
		collapsible:true,
		autoRowHeight: false,
		sortOrder: 'desc',
		remoteSort: false,
		columns:[[]],
		singleSelect:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		}
	});   
	dataGrid.datagrid(jointDGColumn(colData));//根据配置选项，生成datagrid
}






/***************************************
 *  财务任务的双击事件
 ***************************************/
function _p_work_cw(rowData){
	var djId = rowData.DJ_ID; //单据Id
	var djType = rowData.DJ_TYPE;  //单据类型	
	$.ajax({
		type:'post',
		url:_t_url+'myTask/dsIdByType',
		data:{'djType':djType},
		success:function(data){
			var store = data.dataStore;
			var dsId = data.dsId;
			var funcId=data.funcId;
			var dsIds = dsId.split(';');
			var pks =eval("window.parent."+dsIds[0]+"_pk");
			var keyValues = pks+'-'+djId;
			//得到一系列的参数
			var smoro = store.smoro; //判断单据
			var urlJs = store.urlJs;
			var panelTitle = store.panelTitle;
			var staticWebUrl = store.staticWebUrl;
			var winitFunc=data.winitFunc;
			var prefix = store.prefix;
			var items = store.items; //明细表个数
			var flag = '2';
			var wainitFunc = '_p_qcsx'; 
			if(funcId==null||funcId==""){
				alert("在mytask.js中funcId 获取有无，请检查！")
			}
			if(smoro == '0'){  //单录单
				//flag 参数是传入后台判断是查询按钮还是其他界面按钮     
				addPTabT(panelTitle,_m_url+'singlePages/squeryFun?dsId='+dsId+'&type=4;3;6&staticWebUrl=&initFunc=&ainitFunc=&winitFunc='+winitFunc+'&wainitFunc='+wainitFunc+'&aoru='+flag+'&keyValues='+keyValues+'&flag=1&choice=1','',prefix,'backFun',keyValues,dsId,flag,winitFunc,funcId);
			}else if(smoro == '1'){ //主明细
				addPTabT(panelTitle,_m_url+'singlePages/mqueryFun?dsId='+dsId+'&type=4;3;6&staticWebUrl=&initFunc=&ainitFunc=&winitFunc='+winitFunc+'&wainitFunc='+wainitFunc+'&flag=1&aoru='+flag+'&choice=1&keyValues='+keyValues,'',prefix,'backFunM',keyValues,dsId,flag,winitFunc,funcId);
			}
		}
	})
}


/************************************
 * 我的工作台【查询按钮】调用的方法
 ***********************************/
function _w_bquery(obj){
	var prefix=$(obj).attr('pre');
	var dsId=$(obj).attr('dsid');
	var flagStr=$(obj).attr('flagStr');
	var showId = 'congfigVal';
	var resultDG = 'TASKLIST';
	var comUseConf='commUse';
	var divNR= $('#taskWest').find('li').length;
	var doubFunc = $(obj).attr('doubFunc');
	$('#'+prefix+"_hideFlag").val(flagStr);
	if(divNR == 0 || divNR == '' ||divNR == null){
		$.messager.alert('提示','您没有左侧菜单功能，不能进行查询');
		return;
	}else{
		_w_squery(prefix,comUseConf,dsId,showId,resultDG,flagStr,doubFunc);
	}
}

/*******************************
 * 查询方法（上面方法调用）
 ******************************/
function _w_squery(prefix,comUseConf,dsId,showId,resultDG,flagStr,doubFunc){
	var useConf = parseConfig(prefix+"_"+comUseConf);
	var configShow=prefix+'_'+showId;
	$('#'+prefix+'_'+resultDG).datagrid({
		onDblClickRow:function(rowIndex,rowData){
			currentIndex=rowIndex;
			currentRow=rowData;
			if(doubFunc != "" ){
				eval(doubFunc).call(this,rowData);
			} 	
		},
		onLoadSuccess:function(){
			mergeCellsByField(prefix+'_'+resultDG,"XT_ID");
		}
	});
	$.ajax({
		type:'post',
		url:_t_url+'myTask/findMyTask',
		data:{'flagState':flagStr,'dsId':dsId,'config':useConf},
		success:function(data){
			$('#'+prefix+"_"+resultDG).datagrid('loadData',data.rows);
		}
	});
	$('#'+configShow).html(parseConfigStr2(prefix+"_"+comUseConf));
}

var  showVal = '0';
 /**************************************
  * 左侧树状图所有的点击事件
  *************************************/
function findTaskAll(obj){
	var taskParam ={};
	//目前dsId没有用到
	var prefix = $('#taskWest').attr('prefix');
	var hideVal = $('#'+prefix+"_hideVal").val();//隐藏的值
	var flagStr = $(obj).attr('flag');
	var countVal = $(obj).attr('count');
	var type = '4;6';
	parent.selNodeNum = countVal;
	$('#'+prefix+"_hideFlag").val(flagStr);
	$('#'+prefix+"_hideCount").val(countVal);
	//业务任务
	if(flagStr == '0' || flagStr == '1' ||flagStr == '2' ||flagStr == '3' ){
		$('#'+prefix+"_hideVal").val('0');
		showVal ='0';
	}
	//财务任务
	else if(flagStr == '4' || flagStr == '5' ||flagStr == '6' ){
		$('#'+prefix+"_hideVal").val('1');
		showVal ='1';
	}
	//审批任务
	else if(flagStr == '7' || flagStr == '8' || flagStr == '9' || flagStr == '10'){
		$('#'+prefix+"_hideVal").val('2');
		showVal ='2';
	}
	$('#'+prefix+'_congfigVal').html('');
	var dsId = $(obj).attr('dsId');
	var douFunc = $(obj).attr('doubFunc');
	//清空条件查询的值
	$("#"+prefix+"_commUse input").each(function(){
		$(this).val("");
	});
	$("#"+prefix+"_commUse select").each(function(){
		$(this).find("option:selected").attr("selected",false);
	});
	$("#"+prefix+"_commUse textarea").each(function(){
		$(this).val("");
	});
	
	//给查询按钮赋属性
	$('#'+prefix+'_taskQuery').attr('dsid',dsId);
	$('#'+prefix+'_taskQuery').attr('pre',prefix);
	$('#'+prefix+'_taskQuery').attr('flagStr',flagStr);
	$('#'+prefix+'_taskQuery').attr('doubFunc',douFunc);
	$('#'+prefix+'_TASKLIST').datagrid({
		onDblClickRow:function(rowIndex,rowData){
			currentIndex=rowIndex;
			currentRow=rowData;
			var doubFunc = douFunc;
			if(doubFunc != "" ){
				eval(doubFunc).call(this,rowData);
			}
		},
		onLoadSuccess:function(){
			mergeCellsByField(prefix+'_TASKLIST',"XT_ID");
		}
	});
	//如果DSId变化则columns变化 去loadColumns  如果没有变化直接加载数据
	if(hideVal != showVal){
		$.ajax({
			type:'post',
			url:_m_url+'framework/loadColumnsU',
			data:{'colId':dsId,'type':type},
			success:function(data){
				if(data ==""){
					alert("您长时间未操作，系统已经自动退出!，请重新登陆");
				}else{
					var typeT = new Array();
					typeT = type.split(";");
					for(var i = 0; i < typeT.length; i++){
						produceTaskPage(data[0],prefix+"_TASKLIST");
						producePage(data[1],prefix+"_commUse",'6','');
					}
					$("#"+prefix+"_commUse input,select,datalist").each(function(){
						$(this).removeAttr("onkeydown");
						$(this).unbind('onkeydown');
					});
					$("#"+prefix+"_commUse input,select,datalist").each(function(){
						$(this).attr('onkeydown','if(event.keyCode==13) taskAllQuery(this);');
					});
				}
			}
		});
	}
	//加载数据
	$.ajax({
		type:'post',
		url:_t_url+'myTask/findMyTask',
		data:{'flagState':flagStr,'dsId':dsId},
		success:function(data){
			$('#'+prefix+"_TASKLIST").datagrid('loadData',data.rows);
		}
	});
}




/**************************************************
 *我的工作台【重置】按钮事件
 ***************************************************/
function _w_reset(obj){
	var prefix = $(obj).attr('pre');
	var dsId = $(obj).attr('dsid');
	$('#'+prefix+'_TASKLIST').datagrid('loadData',{total:0,rows:[]}); 
	$("#"+prefix+"_commUse input").each(function(){
		$(this).val("");
	});
	$("#"+prefix+"_commUse select").each(function(){
		$(this).find("option:selected").attr("selected",false);
	});
	$("#"+prefix+"_commUse textarea").each(function(){
		$(this).val("");
	});
}





/***************************************
 * 初始化时加载左侧菜单
 **************************************/
function findWNode(){
	var divObjId = parent.divObj;
    $(divObjId).html('');
    var pageStr = "";
    $.ajax({
        type: 'post',
        url: _m_url + 'myTask/findWorkNode',
    	async:false,
        success: function(data) {
            if (data != null) {
                pageStr += "<ul id='tt' class='easyui-tree' style='width: 100%;'>";
                for (var i = 0; i < data.length; i++) {
                    if (data[i].WORK_PARENT_LEVEL == 'root') {
                        pageStr += "<li ><span>" + data[i].WORK_NAME + "</span><ul>";
                        for (var j = 0; j < data.length; j++) {
                            if (data[j].WORK_PARENT_LEVEL == data[i].WORK_LEVEL) {
                                pageStr += "<li><span>" + "<a href='#' id='nodeA" + data[j].WORK_CODE + "' onclick='findTaskAll(this)'  flag='" + data[j].WORK_CODE + "'  dsId='" + data[j].DS_ID + "' doubFunc='" + data[j].DOUBFUNC + "'>" + data[j].WORK_NAME + "</a></span>" + //"("+data[j].COUNTNUM+  //count='"+data[j].COUNTNUM+"'	
                                "</li>";
                            }
                        }
                        pageStr += "</ul></li>";
                    }
                }
                pageStr += "</ul>";
                $(divObjId).append(pageStr);
                $.parser.parse($(divObjId));
               
                /***
				 * a标签的所在的div 也实现点击事件
				 */
				$("a[id^=nodeA]").map(function(){
                	var flag=$(this).attr("flag");
                	var dsId =$(this).attr('dsId');
                	var doufunc1 = $(this).attr('doubFunc');
                	$($(this).parents("div")[0]).attr("onclick","findTaskAll(this)");
                	$($(this).parents("div")[0]).attr("flag",flag);
                	$($(this).parents("div")[0]).attr("dsId",dsId);
                	$($(this).parents("div")[0]).attr("doubFunc",doufunc1);
	                });
           
                //加载数量的方法
                loadNodeNum();
            }
        } //ajax 的success 
    }); //结束ajax
	
}


/***********************************
 * 加载节点数量
 ***********************************/
function loadNodeNum(){
	var divObjId = parent.divObj;
	var hideFlagObj = parent.hideFlagObj;
	var hideNodeNum = parent.selNodeNum;
	var pageStr ="";
	var hideFlag = $(hideFlagObj).val();
	var countNum = 0;
	$.ajax({
		type:'post',
		url:_m_url+'myTask/findNodeNumber',
		success:function(data){
			for(var i = 0;i<data.length;i++){
				var htmlStr = $("#nodeA"+data[i].WORK_CODE).html();
				$("#nodeA"+data[i].WORK_CODE).html(htmlStr+"("+data[i].COUNTNUM+")");
				if(data[i].WORK_CODE == hideFlag){
					countNum = data[i].COUNTNUM;
				}
			}
			//隐藏的flag 选中
			$(divObjId).find("span a[flag="+hideFlag+"]").parent().parent('div').attr('class','tree-node tree-node-selected');
			//查找隐藏flag 的class  如果存在并且 隐藏的数量和重新加载的数量不同的话 就去重新加载数据
			var classVal = $(divObjId).find("span a[flag="+hideFlag+"]").parent().parent('div').attr('class');
			if(classVal != undefined){
				if(hideNodeNum != countNum){
					findTaskAll($(divObjId).find("span a[flag="+hideFlag+"]"));
				}
			}
		}
	});
}



//常用查询条件的回车事件
function taskAllQuery(obj){
	$('span a[id$=_taskQuery]')[0].click();
}
